const Koa = require('koa'),
    router = require('koa-router')(),
    auto = require('./routers/auto');

const app = new Koa();



// 路由
//404页面不存在（中间件）

app.use(async (ctx,next)=>{
    await next();
    if(ctx.status===404){
        ctx.body="抱歉，页面不存在";
    }
    console.log(123);
})



// 首页   
router.get('/',ctx=>{   //响应访问根地址的Get请求
    ctx.body="首页";
    console.log("homepage");
})

//子路由

router.get('/news',ctx=>{
    ctx.body="新闻";
    console.log("newspage");
})
router.get('/news/China/sports/football',ctx=>{
    ctx.body="足球";
    console.log("footballpage");
})

//动态路由

router.get('/product/:id/apple/:source',ctx=>{
    ctx.body="动态路由";
    console.log("动态路由");
})


// 响应请求，接收参数
router.get('/detail',async ctx=>{
    // 接收get传参
    // 1.接收整个请求参数（包含整个路径名）
    let url = ctx.url
    // 2.以对象的格式，接收参数
    let obj = ctx.query;

    // 3.以字符串的格式接收参数
    let str = ctx.querystring;

    // 输出到浏览器
    ctx.body=url;
    console.log(url);
    console.log(obj);
    console.log(str);
})

// 接收动态路由传参
router.get('/my/:name/:age',ctx=>{
    let res = ctx.params;
    console.log(res);
    console.log(ctx.header);
    console.log(ctx.status);
})

//汽车（路由中间件）          模块化引入
router.use('/auto',auto)


// 配置路由（建议写在开启服务器的前面）
app.use(router.routes()).use(router.allowedMethods());

// 开启服务器监听
app.listen(2021,()=>{
    console.log("#localhost:2021");
})